#ifndef APP_SDK_CONFIG_H
#define APP_SDK_CONFIG_H

// this library must be compiled to dynamic
#if defined(_WIN32)
#   define SYMBOL_EXPORT __declspec(dllexport)
#   define SYMBOL_IMPORT __declspec(dllimport)
#elif defined(__unix__)
#   define SYMBOL_EXPORT __attribute__((visibility ("default")))
#   define SYMBOL_IMPORT
#else
#   error "NOT SUPPORT PLATFORM!!"
#endif

#if defined(DIARY_APP_SDK_BUILD)
#   define DIARY_APP_SDK_API SYMBOL_EXPORT
#else
#   define DIARY_APP_SDK_API SYMBOL_IMPORT
#endif

// short types
#include <stdint.h>

#define S(BIT) typedef int##BIT##_t s##BIT
#define U(BIT) typedef uint##BIT##_t u##BIT

S(8);
S(16);
S(32);
S(64);

U(8);
U(16);
U(32);
U(64);

typedef float f32;
typedef double f64;

#undef S
#undef U

#endif // APP_SDK_CONFIG_H
